home *** CD-ROM | disk | FTP | other *** search
/ 100 Plus Great Games 2 / 100PLUSV2.BIN / games / WakeRace.dxr / Internal_8_InBetween Rank Em.ls < prev    next >
Encoding:
Text File  |  2002-01-25  |  2.5 KB  |  84 lines

  1. global carList, gFinalRankings, gPlayer, geEnemyList, gTimes
  2.  
  3. on prepareFrame me
  4.   if count(carList) > count(gFinalRankings) then
  5.     diff = count(carList) - count(gFinalRankings) - 1
  6.     startCar = count(gFinalRankings) + 1
  7.     repeat with n = startCar to startCar + diff
  8.       add(gFinalRankings, carList[n][4])
  9.     end repeat
  10.   end if
  11.   gTimes = []
  12.   theSpriteNum = 401
  13.   repeat with n = 1 to count(gFinalRankings)
  14.     thePoints = registerPoints(gFinalRankings[n], n)
  15.     member("Rank" & string(n) & "Points").text = string(thePoints)
  16.     if gFinalRankings[n] = gPlayer.pMySpriteNum then
  17.       sprite(theSpriteNum).member = member("ib" & string(gPlayer.pCarType))
  18.       member("Rank" & string(n) & "Name").text = getStringName(gPlayer.pCarType)
  19.       if gPlayer.pDamage < 100 then
  20.         add(gTimes, gPlayer.pLapTimes[3])
  21.       else
  22.         add(gTimes, "DNF")
  23.       end if
  24.     else
  25.       theEnemyNum = e_findEnemyFromSpriteNum(gFinalRankings[n])
  26.       sprite(theSpriteNum).member = member("ib" & string(geEnemyList[theEnemyNum][2].carType))
  27.       member("Rank" & string(n) & "Name").text = getStringName(geEnemyList[theEnemyNum][2].carType)
  28.       if count(geEnemyList[theEnemyNum][12]) < 3 then
  29.         finishTime = finishRace(theEnemyNum, n)
  30.         add(gTimes, finishTime)
  31.       else
  32.         add(gTimes, geEnemyList[theEnemyNum][12][3])
  33.       end if
  34.     end if
  35.     theSpriteNum = theSpriteNum + 1
  36.   end repeat
  37.   repeat with n = 1 to count(gTimes)
  38.     theTime = convertTimeToString(gTimes[n])
  39.     member("Rank" & string(n) & "Time").text = theTime
  40.   end repeat
  41.   repeat with n = 409 to 420
  42.     sprite(n).visible = 1
  43.   end repeat
  44. end
  45.  
  46. on finishRace enemyNum, place
  47.   finalTime = 0
  48.   if count(geEnemyList[enemyNum][12]) < 1 then
  49.     finalTime = 5 * 60 * 60
  50.   else
  51.     if count(geEnemyList[enemyNum][12]) < 2 then
  52.       finalTime = geEnemyList[enemyNum][12][1] * 3
  53.     else
  54.       if count(geEnemyList[enemyNum][12]) < 3 then
  55.         lap1 = geEnemyList[enemyNum][12][1]
  56.         lap2 = geEnemyList[enemyNum][12][2] - geEnemyList[enemyNum][12][1]
  57.         avgTime = (lap1 + lap2) / 2
  58.         finalTime = geEnemyList[enemyNum][12][2] + avgTime
  59.       else
  60.         finalTime = geEnemyList[enemyNum][12][3]
  61.       end if
  62.     end if
  63.   end if
  64.   if place > 1 then
  65.     if finalTime < gTimes[place - 1] then
  66.       finalTime = gTimes[place - 1] + (3 * 60)
  67.     end if
  68.   end if
  69.   return finalTime
  70. end
  71.  
  72. on getStringName theName
  73.   case theName of
  74.     #rock:
  75.       return "CPU 1"
  76.     #stoneCold:
  77.       return "CPU 2"
  78.     #kane:
  79.       return "Player"
  80.     #undertaker:
  81.       return "CPU 3"
  82.   end case
  83. end
  84.